package com.xjrsoft.core.tool.utils.aiplm;

import lombok.Data;

/**
 * 文生图接口请求入参
 */
@Data
public class AiplmTxt2imgParam {
    /**
     * Stable Diffusion 模型
     */
    private OverrideSettings override_settings;
    /**
     * 正向提示词
     */
    private String prompt;
    /**
     * 反向提示词
     */
    private  String negative_prompt;
    /**
     * 迭代步数
     */
    private int steps;
    /**
     * 采样方法 (Sampler)
     */
    private String sampler_index;
    /**
     * 提示词引导系数
     */
    private int cfg_scale;
    /**
     * 随机种子数
     */
    private int seed;
    /**
     * 生成批次个数
     */
    private int batch_size;
    /**
     * 宽度
     */
    private int width;
    /**
     * 高度
     */
    private int height;
    /**
     * 跳过剪辑
     */
    private int clip_skip=1;

    /**
     * 面部恢复
     */
    private boolean restore_faces=true;
    /**
     * 采集器名称
     */
    private String sampler_name;

    private String[] script_args;

    private boolean tiling = false;

    private boolean enable_hr = false;

    private int hr_scale = 2;

    public AiplmTxt2imgParam(){

    }

    public AiplmTxt2imgParam(String sd_model_checkpoint){
        OverrideSettings settings = new OverrideSettings();
        settings.setSd_model_checkpoint(sd_model_checkpoint);
        this.override_settings = settings;
    }
}
